/*
 Rule 11.1 (r)
Conversion shall not be performed between a pointer to a function and any type other than an integral type.
*/


#include <stdio.h>

typedef int int32_t;
typedef char char_t;
typedef float float_t;

void (*fp)(int32_t i,char_t c)=NULL;
void f(int32_t i,char_t c);
void f(int32_t i,char_t c)
{
  printf("in f: %d,%c\n",i,c);
}

int32_t main(void)
{
  float_t fl=0;
  
  fp=f;  
  (*fp)(1,'Z');
  fl=(float_t) fp;
  printf("%f\n",fl);
  return 0;
}
